package persistencia.xml;

import java.util.Collection;
import java.util.Iterator;
import java.util.TreeSet;

import persistencia.IIngrediente;
import persistencia.IProducto;

public class ProductoXML implements IProducto {
	protected static Collection<String> campos;
	protected String nombre;
	protected String xml;

	protected Collection<String> getCampos() {
		if (campos == null) {
			campos = new TreeSet<String>();
			campos.add("nombre");
			campos.add("xml");
		}
		return campos;
	}
	
	@Override
	public boolean agregar(IIngrediente nuevo) {
		return false;
	}

	@Override
	public boolean eliminar(IIngrediente existente) {
		return false;
	}

	@Override
	public String getNombre() {
		return nombre;
	}

	@Override
	public Iterator<String> getNombreDeIngredientes() {
		return getCampos().iterator();
	}

	@Override
	public boolean modificar(IIngrediente modificado) {
		boolean cambiado = false;
		if ( modificado.getNombre().compareTo("nombre") == 0 ) {
			nombre = modificado.getValor();
			cambiado = true;
		} else if ( modificado.getNombre().compareTo("xml") == 0 ) {
			xml = modificado.getValor();
			cambiado = true;
		}
		return cambiado;
	}

	@Override
	public IIngrediente obtenerIngrediente(String nombre) {
		IIngrediente resultado = null;
		if ( nombre.compareTo("nombre") == 0 ) {
			resultado = new IngredienteXML(nombre, this.nombre);
		} else if ( nombre.compareTo("xml") == 0 ) {
			resultado = new IngredienteXML("xml", this.xml);
		}
		return resultado;
	}

}
